/*
     GLOBAL Large CSS Styles ************************************
          These apply to all display sizes.
     9 April 2025
*/


/*
    JB Site Specific CSS
*/



/*
     5 April 2025 Course and Lesson Title Prefix Text class styles

*/

.course_cfg_doc_title_prefix_class
{
    color:#FF9300;
}

.lesson_doc_title_prefix_class
{
    color:magenta;
}




.mega_menu_top_home_link_class
{
  display: inline-block;
  text-decoration: none;
  width: fit-content;

  border-radius: 8px;
  color: inherit;

  height:fit-content;
  margin-top:10px;
  padding-bottom:10px;

}


.mega_menu_top_home_link_class:hover {

  display:inline-block;
  text-decoration: none;
  background-color: #FF9300;
  color: white !important;

  margin-top:10px;
  padding-bottom:10px;

}


.mega_menu_link_css
{    
     display: inline-block;
     width:100%;

     padding:10px;

}



.mega_menu_link_css:hover 
{
    display: inline-block;
    padding:10px;
    
    background-color: #f57c00;

    color: white !important; 
    text-decoration: none !important;

    border-radius: 10px;

}



/*
    17 May 2025 Knowledge Page Table Navigation buttons
*/

.kt_table_nav_buttons_div 
{
   display: flex;
   flex-direction: row;
   padding-top:5px;
}


.kt_table_nav_buttons 
{
     cursor: pointer;
     padding: 5px;
     border-radius: 5px;
     box-shadow: 0 0 3px -1px blue;
     margin: 2px;
     background-color: white;
     font-size: 1rem;
}


.kt_table_nav_buttons:hover {
  background-color: orange;
  color: white;
  border-radius: 5px;
  box-shadow: 0 0 10px -1px #f57c00;
  padding: 5px;
}




/*
        Staff Menu Edit Popup
*/
.staff_edit_div_class
{
    position:absolute;
    background-color:white;
}


    /*
        Set all URLs to be Black
    */
    a {
        color: black; /* Set the link color to black */

       text-decoration: none; 
    }

    a:hover, a:visited, a:active {
        color: black; /* Ensure the link remains black on hover, visit, and active states */
    }


a:hover
{
   color:#f57c00;
   text-decoration:none;
}

/*
    Main Menu Icon CSS
    2 Oct 2017 This controls the CSS style of the mobile icons along the top.
        ie mobile home, mobile login etc.
*/
.main_menu_icon_css
{
    width:62px;
}


.doc_mega_menu_wrapper
{
    height:60px;
}



/*
    28 Feb 2020 > Menu icon
*/
.menuicon
{
     width:55px;
}





/*
    Youtube Video iframe responsive CSS
*/
.videoWrapper {
  position: relative;
/*
9 March 2025
  padding-bottom: 31.25%; 
*/
  height: 0;
  display: inline;
}

.videoWrapper iframe {

  top: 0;
  left: 0;
  /* width: 800px; */
  height: 400px;

}



/* Color for cart errors */
.form_field_error
{
    color:red;
}



/*
    26 July 2024 > New Staff Web Edit Mode Menus CSS
        These are the new Staff Edit menus CSS in WEB Edit Mode.
*/
.staff_edit_menu_div {
            width: 50px;
            height: 20px;
            background-color: lime;
            transition: width 0.3s, height 0.3s;
            position: absolute;
            cursor: pointer;
            overflow: hidden;
            border-radius: 5px;
            padding-left:5px;
            padding-top: 5px;
            z-index: 1000;
        }


.staff_edit_menu_div.expanded {
           width: auto;
           height: auto;
           padding: 10px;
           z-index:10000;
           background-color: deepskyblue;
           border-style: groove;
           border-width: 5px;

        }

.staff_edit_menu_div_closeLink {
            display: none;
            position: absolute;
            top: 5px;
            right: 5px;
            cursor: pointer;
            background-color: red;
            color: white;
            padding: 5px;
            border-radius: 3px;
        }

.staff_edit_menu_div.expanded .staff_edit_menu_div_closeLink {
            display: block;
        }


/*
    18 Aug 2024 Set the staff edit icon yellow because the 
        item is not public.
*/
.staff_edit_not_public
{
    background-color: yellow !important;

}


/*
    Web staff edit mode the E edit Icon in the staff menus.
*/
.staff_menu_edit_icon_css
{
    color:blue;
    font-size:x-large;
    background-color: lime;
    border-radius: 5px;
    padding: 2px;
}

/*
   Item checkboxes on the staff web edit page.
*/
.staff_items_checkbox
{
   width:18px;
   height: 15px;
   top: -2px;
   position: relative;

}




/*
    19 Dec 2024 General Orange Gradent Class
*/

.orange-gradient-overlay::before {
      content: ''; /* Necessary for pseudo-elements */
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: linear-gradient(rgba(255, 228, 181, 0.8), orange);
      border-radius: 20px; /* Match the parent div's border-radius */
      z-index: 1; /* Ensure this appears above the background image */
    }

/* START ep1 Entry Point 1 CSS ****************************************************** */

    /*
        ep1> Entry Point 1 Main Container 
                This is a grid and the background is the hero image.
    */
    .ep1_container 
    {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        margin: 10px;
        position: relative;

        width: 300px;
        height: 400px;

        background-color: #ffe0b2;
        border-radius: 20px;
        
        background-size: contain;
        background-position: bottom;
        background-repeat: no-repeat;

        /* Allow .ep1_container to be positioned next to each other */
        float: left;

        box-sizing: border-box; /* Include padding and border in the element's total width */

           background-clip: content-box, border-box;
           padding-left: 10px;
           background-origin: content-box, border-box;
           padding-right: 10px;
           padding-bottom: 10px;
           cursor: pointer;
    }

    .clearfix::after {
        content: "";
        clear: both;
        display: table;
    }

    .ep1_title {
        margin-top: 1em;
        font-size: 1.5em;
    }

    .ep1_sub_title {
        font-size: 1.2em;
        margin-top: 0.5em;
    }

    .ep1_text {
        font-size: 1em;
        margin-top: 0.5em;
    }

    /* Position the button about 1/4 of the way down from the top */
    .ep1_button {
        position: absolute;
        top: 25%; /* 1/4 of the way down from the top */
        width: fit-content;
        padding: 4px 10px;
        background-color: white;
        color: #f57c00;
        border: 2px solid #f57c00;
        border-radius: 5px;
        cursor: pointer;
        text-decoration: none;
        font-size: 1em;
        transition: all 0.3s ease;
    }

    /* Hover effect specifically on the button */
    .ep1_button:hover {
        background-color: #f57c00;
        color: white;
        border: 2px solid white;
    }


/* END Entry Point 1 CSS ****************************************************** */



/* START ep2 Entry Point 2 CSS ****************************************************** */

        .ep2_container {
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
            margin: 10px;
            position: relative;
            width: 235px;
            height: 300px;
            background-color: #f5f5f7;
            border-radius: 20px;
            background-size: contain;
            background-position: bottom;
            background-repeat: no-repeat;
            float: left;

            box-sizing: border-box; /* Include padding and border in the element's total width */
            cursor: pointer;

           background-clip: content-box, border-box;
           padding-left: 10px;
           background-origin: content-box, border-box;
           padding-right: 10px;
           padding-bottom: 10px;

        }

       



        .clearfix::after {
            content: "";
            clear: both;
            display: table;
        }

        .ep2_title {            
            font-size: 1.5em;
            margin-top: 1em;
        }

        .ep2_sub_title {
            font-size: 1.2em;
            margin-top: 0.5em;
        }

        .ep2_text {
            font-size: 1em;
            margin-top: 0.5em;
        }

        .ep2_button {
            position: relative;
            width: fit-content;
            padding: 4px 10px;
            background-color: white;
            color: #f57c00;
            border: 2px solid #f57c00;
            border-radius: 5px;
            cursor: pointer;
            text-decoration: none;
            font-size: 1em;
            transition: all 0.3s ease;
        }



        .ep2_button:hover {
            background-color: #f57c00;
            color: white;
            border: 2px solid white;
        }


        .ep2_plus_icon {
            position: absolute;
        bottom: 10px;
        right: 10px;
        cursor: pointer;
        width: 40px; /* Increased width for padding */
        height: 40px; /* Increased height for padding */
        display: flex;
        justify-content: center;
        align-items: center;
        }

        .ep2_plus_icon_svg {
            width: 100%;
            height: 100%;
        }

        .ep2_body_text {
            display: none;
            margin-top: 20px;
            font-size: 1.2em;
            text-align: center;
        }

/* END Entry Point 2 CSS ****************************************************** */


/* START Entry Point 3 CSS ****************************************************** */

        .ep3_container {
            display: inline-flex;
            flex-direction: row;
            /* align-items: center; */
            text-align: left;
            margin: 10px;
            margin-top:25px;
           

            position: relative;
            width: fit-content;
            height: 400px;
            background-color: #f5f5f7;
            border-radius: 20px;
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat;

            box-sizing: border-box; /* Include padding and border in the element's total width */
            cursor: pointer;
        }

        .eps3_hero_image {
            flex: 1;
            height: 100%;
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat;

            border-radius: 20px;
        }

        .ep3_hero_image_right
        {
            order: 2; /* Place the hero image after the content */
        }

        .ep3_content {
            flex: 1;
            padding: 20px;
            display: flex;
            flex-direction: column;
            justify-content: flex-start; /* Align contents to the top */
        }


        .ep3_title {            
            font-size: 1.5em;
            margin-top: 0em;
            width:80%;
            padding-left:20px;
        }

        .ep3_sub_title {
            font-size: 1.2em;
            margin-top: 0.5em;
            padding-left:20px;
        }

        .ep3_story_text {
            display: block;
        
            text-align: left;

            padding-left:50px;
            padding-top:10px;
            font-size: 1em;
            
            line-height: 1.2105263158;
            font-weight: 500;
            letter-spacing: .012em;
            
        }

        .ep3_button {
            align-self: flex-end;
            width: fit-content;
            padding: 4px 10px;
            background-color: white;
            color: #f57c00;
            border: 2px solid #f57c00;
            border-radius: 5px;
            cursor: pointer;
            text-decoration: none;
            font-size: 1em;
            transition: all 0.3s ease;
            margin-top: auto;
        }

        .ep3_button:hover {
            background-color: #f57c00;
            color: white;
            border: 2px solid white;
        }

        .ep3_plus_icon {
            position: absolute;
            bottom: 10px;
            right: 10px;
            cursor: pointer;
            width: 40px; /* Increased width for padding */
            height: 40px; /* Increased height for padding */
            display: flex;
            justify-content: center;
            align-items: center;
        }

        .ep3_plus_icon_svg {
            width: 100%;
            height: 100%;
        }

/* END Entry Point 3 CSS ****************************************************** */




/*
     26 Oct 2024 > New display code= command css. *********************
*/

.ace_code_editor_main_div_class
{
   padding:20px;

}




/*
     2 May 2019 Upgrade NEW GLOBAL CSS START >>>>>>>>>>>>>>>>>>>>>>
*/




/*
    GLOBAL for the Top menu options
        Allow 2fr for the search prompt.
*/
.home_top_menu_items
{
    display: grid;
    grid-template-columns: 2fr repeat(10, 1fr);
    grid-gap: 10px;
    height:30px;
}

/* Top Menu options hover */
.home_top_menu_items a:hover
{
    color: blue;
    text-decoration: none;
}

/*
   Home Menu HomeIcon Doc subtype CSS
*/
.home_menu_icon_div
{

}

/* Home menu Icon url */
.home_menu_icon_url
{

}

/* Home menu Icon image */
.home_menu_icon_img
{
    width:60px;
}


/*
   For the home icon link.
*/
#home_but_image
{
    width:100px;
}


/*
    NETs container for the pro order page.
    Set the nets payment screen width.
*/
.container
{
    width:100% !important;
}



/*
    For docbut=nnnnnnn tags
*/
.doc_but_span_style
{
  background-color: lightgray;
  padding: 10px;
  border-radius: 5px;
  /* Add a noce bevel to the button */
  box-shadow: inset 1px 1px 2px rgba(255, 255, 255, 0.6), inset -1px -1px 2px rgba(0, 0, 0, 0.3), 1px 1px 5px rgba(0, 0, 0, 0.1);
}



/*
    GRID Menu Items
    2 May 2019 The hamburger button is always the first followed by the company logo.
*/



/*  2 may 2019 */
.comp_logo
{
    grid-area: comp_logo;
    max-width:25%;
}






/*
     12 March 2025 > New Learn Page Lesson Row Result css
*/

        .lesson_row_container {
            display: flex;
            flex-direction: row;
            align-items: flex-start;
            text-align: left;
            margin: 5px;
            width: auto;
            background-color: white;
           
            border-width: 1px;
            border-radius: 5px;
            border-color: #f57c00;
            border-style: solid;

            padding: 10px;
            position: relative; /* Add relative positioning */
            cursor: pointer;
         
        }


        .lesson_row_container:hover {
          background-color: #f57c00;
          color: white;
        }


        .lesson_row_hero_image_div
        {
            width: 160px;
            overflow: clip;
        }

        .lesson_row_hero_image {
            width: auto;
            height: 80px;
            margin-right: 20px;
            object-fit: cover;
            border-radius: 10px;
            background-color: #FFF;
        }
        

        .lesson_row_content {
            flex: 1;
            display: flex;
            flex-direction: column;
            justify-content: flex-start;
        }

        .lesson_row_title {
            font-size: 1.25em;
            margin-top: 0;
            padding-left: 20px;
        }

        .lesson_row_sub_title {
            font-size: 1.1em;
            margin-top: 0.5em;
            padding-left: 20px;
        }

        .lesson_row_descr {
            margin-top: 15px;
            text-align: left;
            padding-left: 50px;
            font-size: 1em;
            line-height: 1.2;
            /* 2 text lines high */
            height:2.5em;
            overflow:hidden;
        }


/*
       13 March 2025 This is for lessons that dont have icon
             images set in the course lesson list page.
*/
       .lesson_row_no_icon_div_class 
       {
          background-color: peachpuff;
          width: auto;
          height: 80px;
          padding: 10px;
         
          border-radius: 5px;
         
       }




/*
     17 Sep 2024 > Knowledge Tree Page CSS
*/
  /* Lesson Grid CSS */
        .kt_lesson_grid 
        {
            display: grid;
            grid-area: kt_lesson_grid;

            grid-template-areas: 
                "kt_list_heading kt_list_heading"
                "kt_subject_list_buttons kt_context_buttons_container"
                "kt_subject_list_buttons kt_platform_buttons_container"
                "kt_subject_list_buttons kt_list_container";

            grid-template-columns: minmax(100px, 150px) auto;
            grid-template-rows: 40px 30px 40px 1fr;

            grid-row-gap: 5px;
            grid-column-gap: 10px;

            width: 100%;
            margin-top: 0.5rem;

            padding: 0.5rem;

            background-color: #f57c00;
            border-radius: 5px;
            box-shadow: 0 0 10px -1px #dddfe1;

            margin-left: 15px;
            margin-right: 15px;
        }
        
        .kt_list_heading 
        {
            grid-area: kt_list_heading;
            height: fit-content;
            text-align: left;
            font-size: x-large;
            background-color: white;
            padding:5px;
            border-radius: 5px;
            box-shadow: 0 0 10px -1px #dddfe1;
        }


        
        .kt_context_buttons_container {
            display: grid;
            grid-template-areas: "kt_context_plans kt_context_lessons kt_context_activities kt_context_projects kt_context_commands kt_context_programs kt_context_items";
            grid-template-columns: repeat(7, minmax(100px, 1fr)); /* Ensure each button has equal space */
            grid-gap: 2px; /* Reduce gap between buttons */
            align-items: center;
            text-align: center;
            padding-left: 5px; /* Reduced padding */
            padding-right: 5px;
        }

        .kt_context_buttons {
            cursor: pointer;
            padding: 5px;
            border-radius: 5px;
            box-shadow: 0 0 3px -1px blue;
            margin: 2px; /* Reduce margin */
            background-color: white;
        }


        .kt_levels_container {
            display: grid;
            grid-area: kt_levels_container;
            grid-template-columns: minmax(210px,1fr);
            padding-left: 10px;
            padding-right: 10px;
            /* background-color: yellow; */
            width: fit-content;
        }


        .kt_platform_buttons_container 
        {
            display: grid;
            grid-area: kt_platform_buttons_container;
            grid-template-areas: "kt_platform_pro kt_platform_basic kt_platform_virtual kt_levels_div";
            grid-template-columns: repeat(7, minmax(100px, 1fr));
            
            grid-gap: 2px; /* Reduce gap between buttons */
            align-items: center;
            text-align: center;
            padding-left: 5px; /* Reduced padding */
            padding-right: 5px;
        }

         .kt_platform_buttons {
            cursor: pointer;
            padding: 5px;

            border-radius: 5px;
            box-shadow: 0 0 3px -1px #f57c00;
            margin: 2px;
            background-color: white;
        }

        .kt_platform_buttons:hover {
            background-color: deeppink;
            color: white;
            border-radius: 5px;
            padding: 5px;
        }

        .kt_platform_buttons.active {
            background-color: #f57c00;
            color: white;
            border: 2px solid white;
        }


        .kt_menu_icons {
            grid-area: kt_menu_icons;
            padding: 10px;
            background-color: white;
            border-radius: 5px;
            box-shadow: 0 0 10px -1px #dddfe1;
        }

        .kt_subject_list_buttons {
            grid-area: kt_subject_list_buttons;
            padding: 5px;
            background-color: white;
            border-radius: 5px;
            box-shadow: 0 0 10px -1px #dddfe1;
            text-align: center;
        }


      .kt_subject_entry_button {
            cursor: pointer;
            padding: 5px;
            border-radius: 5px;
            border-width:2px;
            border-color: #f57c00;
            border-style: solid;
            margin: 5px;
        }


        .kt_subject_entry_button:hover {
           
            background-color: deeppink;
            color: white;
            border-radius: 5px;
            box-shadow: 0 0 10px -1px #dddfe1;
            padding: 5px;
        }


        .kt_subject_entry_button.active {
            background-color: #f57c00;
            color: white;
            border: 2px solid #f57c00;
        }

        .kt_levels_div
        {
            grid-column: span 3;
            cursor: pointer;
            height: fit-content;
            padding: 5px;
            border-radius: 5px;
            box-shadow: 0 0 3px -1px blue;
            margin: 5px;
            background-color: white;
        }

        

        .kt_context_buttons:hover {
           background-color: deeppink;
            color: white;
            border-radius: 5px;
            box-shadow: 0 0 10px -1px #f57c00;
            padding: 5px;
        }

        .kt_context_buttons.active {
            background-color: #f57c00;
            color: white;
            border: 2px solid white;
        }

        .kt_list_container {
            display: grid;
            grid-area: kt_list_container;
            grid-template-areas: "auto";
            grid-template-columns: 1fr;
            grid-template-rows: auto 1fr;
        
            align-items: center;
            text-align: left;
            padding-left: 10px;
            padding-right: 10px;
            background-color: white;
            border-radius: 5px;
            box-shadow: 0 0 10px -1px #dddfe1;
            overflow:auto;   

        }

        .kt_list_item {
            background-color: cyan;
            padding: 5px;
        }

        .kt_search_prompt_container {

           padding:5px;
        }
        .span-two-rows {
            grid-row: span 2;
        }



/*
    11 July 2024 Staff Edit menu Items Grid
*/
.staff_edit_div_class 
{
    height:10px;
}


/*
     2 May 2019 Upgrade NEW GLOBAL CSS END >>>>>>>>>>>>>>>>>>>>>>
*/





        /*
            Global GroupIcons Tag CSS Styles >>>>>>>>>>>>>>>>>>>>
                These apply regardless of the display size.
        */

        .groupicons_member_image
        {
            grid-area: groupicons_member_image; 
            text-align: center;
        }

        /*
            For the members image file.
        */
        .groupicons_member_image_file
        {
            text-align: center;
            width: 100%; /* Scale the image to the width of the container */
            height: 175px; /* Maintain the aspect ratio */
            max-width: 100% !important; /* Ensure the image doesn't exceed the container's width */
            object-fit: contain; 
            border-radius: 5px;

            background-color:white; /* in case the icon has no background */
        }


        .member_image_link
        {
            text-decoration:none;
        }

        .groupicons_member_name 
        {
            grid-area: groupicons_member_name;
            font-weight: 600;
        }

        .groupicons_member_name_link 
        {
            text-decoration: none;
        }

        .groupicons_member_pub_date
        {
            font-size: small;
        }

        .groupicons_member_descr 
        {
            grid-area: groupicons_member_descr;
            overflow: hidden;
            color: black;
            font-size: smaller;
        }
                        
	
        .groupicons_member_price 
        {   
            grid-area: groupicons_member_price;
            
            color: black;
            text-align: right;
        }

        .groupicons_member_discount 
        {
            grid-area: groupicons_member_discount;
            display: initial;
            color: red;
            text-align: right;
            font-style: italic;
        }

        .groupicons_member_discount_icon 
        {
            height: 25px;
        }

        .groupicons_member_add_button 
        {
            grid-area: groupicons_member_add_button;
            align-self: end;
            text-align: right;
        }



        .groupicons_member_stocks 
        {
            grid-area: groupicons_member_stocks;
            text-align: right;
        }


        .groupicons_member_freight {
            grid-area: groupicons_member_freight;
            text-align: right;
        }

        .groupicons_member_info 
        {
            grid-area: groupicons_member_info;
            text-align: right;
        }

        .member_info_icon_image 
        {
            grid-area: member_info_icon_image;
            height: 25px;
            text-align: right;
        }

      /*
            @Column Mode CSS GRID Settings >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                This is for modes 50 to 57.
                These are the column layout modes.
        */
        

        /*
            Column Modes 10 to 17 > Setup the Main Grid Layout (LARGE SCREEN) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                This is the setup of the layout which will contain all of the memebers.
            
        */
        .groupicons_column_modes_main_group_container 
        {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));

            grid-template-rows: auto;
            
            justify-content: space-evenly;
            text-align: left;
            grid-gap: 15px;
            margin: 10px;
        }



        /*
            Mode 50 > Columns: Everything. >>>>>>>>>>>>>>>>>>>>>>>
        */
        .groupicons_column_display_mode50
        {
            /*
                Small screen image at the top.
            */    
                grid-template-areas:   
                "groupicons_member_image    groupicons_member_image"
                "groupicons_member_name     groupicons_member_name"
                "groupicons_member_descr    groupicons_member_descr"
                "groupicons_member_price   groupicons_member_discount"
                "groupicons_member_freight  groupicons_member_add_button"
                "groupicons_member_stocks    groupicons_member_info";

            /* 
                Set the width of the Grid Columns             
            */
                grid-template-columns: repeat(2, 1fr); /* Two equal columns */
                
                /* Set 6 rows */
                grid-template-rows: max-content max-content auto auto auto auto;
            }


      


        /*
            Mode 51 > Columns: Name ONLY. >>>>>>>>>>>>>>>>>>>>>>>
        */
            .groupicons_column_display_mode51 
            {
                grid-template-areas: "groupicons_member_name";
                grid-template-columns: 1fr;
                
                grid-template-rows: auto;
                padding: 10px;

            }


        /*
            Mode 52 > Columns: Name & Description. >>>>>>>>>>>>>>>>>>>>>>>
        */
            .groupicons_column_display_mode52
            {
                grid-template-areas: "groupicons_member_name "
                                     "groupicons_member_descr";

                grid-template-columns: 1fr;

                grid-template-rows: max-content auto;

            }


        /*
            Mode 53 > Columns:  Name, Description & Ecom >>>>>>>>>>>>>>>>>>>>>>>
        */
            .groupicons_column_display_mode53
            {
                grid-template-areas:  
                "groupicons_member_name     groupicons_member_name"
                "groupicons_member_descr    groupicons_member_descr"
                "groupicons_member_price   groupicons_member_discount"
                "groupicons_member_freight  groupicons_member_add_button"
                "groupicons_member_stocks    groupicons_member_info";
    
                /* 
                    Set the width of the Grid Columns             
                */
                    grid-template-columns: repeat(2, 1fr); /* Two equal columns */
                    
                    /* Set 5 rows */
                    grid-template-rows: max-content auto auto auto auto;
            }


        /*
            Mode 54 > Columns: Icon ONLY >>>>>>>>>>>>>>>>>>>>>>>
        */
            .groupicons_column_display_mode54
            {
                grid-template-areas: "groupicons_member_image";
                grid-template-columns: 1fr;

            }

        /*
            Mode 55 > Columns: Icon, Name  >>>>>>>>>>>>>>>>>>>>>>>
        */
            .groupicons_column_display_mode55
            {
                grid-template-areas: "groupicons_member_image"
                                     "groupicons_member_name";

                grid-template-columns: 1fr;

            }

       
        /*
            Mode 56 > Columns: Icon, Name & Description. >>>>>>>>>>>>>>>>>>>>>>>
        */
            .groupicons_column_display_mode56
            {
                grid-template-areas: "groupicons_member_image  "
                                     "groupicons_member_name"
                                     "groupicons_member_descr";

                grid-template-columns: 1fr;

                /* Title row is slimmer */
                grid-template-rows: max-content max-content auto;
            }

        /*
            Mode 57 > Columns: Icon, Name, Description & ECOM >>>>>>>>>>>>>>>>>>>>>>>
        */
            .groupicons_column_display_mode57
            {
                grid-template-areas:  
                "groupicons_member_image    groupicons_member_image"
                "groupicons_member_name     groupicons_member_name"
                "groupicons_member_descr    groupicons_member_descr"
                "groupicons_member_price   groupicons_member_discount"
                "groupicons_member_freight  groupicons_member_add_button"
                "groupicons_member_stocks    groupicons_member_info";
    
                /* 
                    Set the width of the Grid Columns             
                */
                    grid-template-columns: repeat(2, 1fr); /* Two equal columns */
                    
                    /* Set 6 rows */
                    grid-template-rows: max-content max-content auto auto auto auto;
  
            }



    /*
        @headline
        groupicons Tag Headline CSS Styles >>>>>>>>>>>>>>>>>>>>>>>>>
            These are the various css styles for the groupicons tag
            when we want an entry to be a headline type.
    */
    
        /*
            Mode 50 > HEADLINE Columns: Everything. >>>>>>>>>>>>>>>>>>>>>>>
                This makes the grid cell a Headline type.
                Span 2 cols together.
        */
        .groupicons_column_display_headline_mode50
        {
            /*
                Image top left, title to the right
                description below. 
                NO Freight or stocks.
            */    
            grid-template-areas:   
                "groupicons_member_image    groupicons_member_name      groupicons_member_name          groupicons_member_name"
                "groupicons_member_descr    groupicons_member_descr     groupicons_member_descr         groupicons_member_descr"
                "groupicons_member_price    groupicons_member_discount  groupicons_member_add_button    groupicons_member_info";

                grid-template-columns: minmax(25%, 50%) 1fr;

                /* Make the title row shorter. */
                grid-template-rows: max-content ;

                /* This makes the div span 2 columns */
                grid-column: span 2;
        }

        /* Mode 50 > HEADLINE Name >>>>>>>>>>>>>>>>>>>>>>> */
        .groupicons_member_name_headline_mode50
        {
            font-weight: 500;
            font-size:20pt;
        }

        /* Mode 50 > HEADLINE Description >>>>>>>>>>>>>>>>>>>>>>> */
        .groupicons_member_descr_headline_mode50
        {
            font-size:12pt;
        }


        /*
            Mode 52 > HEADLINE  >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                This makes the grid cell a Headline type.
                Span 2 cols together.
        */
        .groupicons_column_display_headline_mode52
        {
            grid-template-areas: "groupicons_member_name "
                                    "groupicons_member_descr";

            grid-template-columns: 1fr;

            grid-template-rows: max-content auto;

            /* This makes the div span 2 columns */
            grid-column: span 2;
        }


        /* Mode 52 > HEADLINE Name >>>>>>>>>>>>>>>>>>>>>>> */
        .groupicons_member_name_headline_mode52
        {
            font-weight: 400;
            font-size:20pt;
        }


        /* Mode 52 > HEADLINE Description >>>>>>>>>>>>>>>>>>>>>>> */
        .groupicons_member_descr_headline_mode52
        {
            font-size:12pt;
        }

        
        /*
            Mode 53 > HEADLINE:  Name, Description >>>>>>>>>>>>>>>>>>>>>>>
        */
        .groupicons_column_display_headline_mode53
        {
            /*
                Image top left, title to the right
                description below. 
                NO Freight or stocks.
            */    
            grid-template-areas:   
                "groupicons_member_name     groupicons_member_name      groupicons_member_name          groupicons_member_name"
                "groupicons_member_descr    groupicons_member_descr     groupicons_member_descr         groupicons_member_descr"
                "groupicons_member_price    groupicons_member_discount  groupicons_member_add_button    groupicons_member_info";

                grid-template-columns: minmax(25%, 40%) 1fr 1fr 1fr;

                /* Make the title row shorter. */
                grid-template-rows: max-content auto;

                /* This makes the div span 2 columns */
                grid-column: span 2;
        }


        /* Mode 53 > HEADLINE Name >>>>>>>>>>>>>>>>>>>>>>> */
        .groupicons_member_name_headline_mode53
        {
            font-weight: 400;
            font-size:20pt;
        }


        /* Mode 53 > HEADLINE Description >>>>>>>>>>>>>>>>>>>>>>> */
        .groupicons_member_descr_headline_mode53
        {
            font-size:12pt;
        }

        
        /*
            Mode 55 > HEADLINE: Icon, Name  >>>>>>>>>>>>>>>>>>>>>>>
        */
            .groupicons_column_display_headline_mode55
            {
                grid-template-areas: "groupicons_member_image groupicons_member_name";

                grid-template-columns:  minmax(25%, 40%) 1fr;

                /* This makes the div span 2 columns */
                grid-column: span 2;
            }

        
            /* Mode 55 > HEADLINE Name >>>>>>>>>>>>>>>>>>>>>>> */
            .groupicons_member_name_headline_mode55
            {
                font-weight: 400;
                font-size:20pt;
            }


            /* Mode 55 > HEADLINE Description >>>>>>>>>>>>>>>>>>>>>>> */
            .groupicons_member_descr_headline_mode55
            {
                font-size:12pt;
            }



        /*
            Mode 56 > HEADLINE: Icon, Name & Description. >>>>>>>>>>>>>>>>>>>>>>>
        */
            .groupicons_column_display_headline_mode56
            {
                grid-template-areas: "groupicons_member_image  groupicons_member_name"
                                     "groupicons_member_descr  groupicons_member_descr";

                grid-template-columns:  minmax(25%, 40%) 1fr;

                /* Title row is slimmer */
                grid-template-rows: max-content max-content;

                /* This makes the div span 2 columns */
                grid-column: span 2;
            }


            /* Mode 56 > HEADLINE Name >>>>>>>>>>>>>>>>>>>>>>> */
            .groupicons_member_name_headline_mode56
            {
                font-weight: 400;
                font-size:20pt;
            }


            /* Mode 56 > HEADLINE Description >>>>>>>>>>>>>>>>>>>>>>> */
            .groupicons_member_descr_headline_mode56
            {
                font-size:12pt;
            }




        /*
            Mode 57 > HEADLINE: Everything. >>>>>>>>>>>>>>>>>>>>>>>
                This makes the grid cell a Headline type.
                This one supports ECOM.
        */
        .groupicons_column_display_headline_mode57
        {
            /*
                Image top left, title to the right
                description beow.
            */    
            grid-template-areas:   
                "groupicons_member_image    groupicons_member_name"
                "groupicons_member_descr    groupicons_member_descr"
                "groupicons_member_price   groupicons_member_discount"
                "groupicons_member_freight  groupicons_member_add_button"
                "groupicons_member_stocks    groupicons_member_info";

                grid-template-columns: minmax(25%, 40%) 1fr;

                /* Make the title row shorter. */
                grid-template-rows: max-content ;

                /* This makes the div span 2 columns */
                grid-column: span 2;
        }

        /*
            Mode 57 > HEADLINE Columns: Everything. >>>>>>>>>>>>>>>>>>>>>>>
        */
        .groupicons_member_name_headline_mode57
        {
            font-weight: 500;
            font-size:20pt;
        }

        /* Mode 57 > HEADLINE Description >>>>>>>>>>>>>>>>>>>>>>> */
         .groupicons_member_descr_headline_mode57
        {
            font-size:12pt;
        }
        
        .groupicons_column_span_2_cols
        {
            /* This makes the div span 2 columns */
            grid-column: span 2;
        }



/*
    LARGE DISPLAY CSS  >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
*/

@media only screen and (min-width: 800px)
{
/*
    12 Jan 2019 NEW CSS GRID VERSION
*/


/*
    LARGE Overall Home Page CSS >>>>>>>>>>>>>
*/
body
{
    font-family: Helvetica,Arial,sans-serif;
    font-size: 18px;
    letter-spacing: .2px;
   /* line-height: 1.5; */
    
    margin:0;
    background-color: #FFFFFF;

  
}


  /*
        Set all URLs to be Black
    */
    a {
        color: black; /* Set the link color to black */
        text-decoration: underline; 
    }

    a:hover, a:visited, a:active {
        color: black; /* Ensure the link remains black on hover, visit, and active states */
    }


/*
    LARGE HOME PAGE Overall Home Page Wrapper CSS >>>>>>>>>>>>>
*/

/*
    LARGE HOME PAGE Overall Home Page Wrapper CSS >>>>>>>>>>>>>
*/
.home_wrapper
{
    display: grid;
    grid-template-areas:
        "home_header home_header home_header"
        "home_content home_content home_content"
        "home_footer home_footer home_footer";

    grid-template-rows: 1fr auto;
    grid-template-columns: 200px auto;

    grid-row-gap: 5px;
    grid-column-gap: 5px;
  
    max-width:1200px;

   /* 6 April 2024 */
    margin-left:auto;
    margin-right:auto;
}




/*
    LARGE Home Page Header CSS
         6 April 2024 Made fixed at top of page.
*/
.home_header
{
    position: -webkit-sticky; /* For Safari */
    position: sticky;
    top: 0px;

    border-bottom: 5px solid #f57c00;

    z-index: 1000;
    
    grid-area: home_header;
    margin-left: 15px;
    margin-right: 15px;

    padding:15px;
    height:55px;
    
    /* background-image: linear-gradient(0deg,#a2ddfa,#3ef4fd00); */
    border-radius: 5px;
    background-color: white;

    /* box-shadow: 0 0 10px 5px lightgrey; */

}



/*
    21 Dec 2019 LARGE Users optional home page header content.
*/
.user_home_page_header
{
   display: flex;
   padding: 0px;
   width:fit-content;
   height: auto;
   position: relative;
   left: 84%;
   top: 0px;

}


/*
    21 Dec 2019 LARGE Users optional normal page header content.
*/
.user_normal_page_header
{
   display: flex;
   padding: 0px;
   width:fit-content;
   height: auto;
   position: relative;
   left: 84%;
   top: 0px;
   z-index:1;

}



/*
    Home Page Left Col CSS
*/
.home_left
{
    display:none;
    grid-area: home_left;
    background: rgba(49,121,227,0.9);
    padding:8px;
    text-align: center;
}


/*
    Home Page Content CSS
    6 April 2024 moved down to allow fixed headers
*/
.home_content
{
    grid-area: home_content;

    max-width: 100%;
    margin-top: 0.5rem;

    padding-left: 0.5rem;
    padding-right: 0.5rem;

/*    background-color: aliceblue; */
    border-radius: 25px;
    /* box-shadow: 0 0 10px -1px #dddfe1; */

    margin-left: 15px;
    margin-right: 15px;
}


/*
    Home Page Right Col CSS
*/
.home_right
{
    grid-area: home_right;
    background-color: white;
    padding:8px;
    display:none;
}



/*
    Home Page Footer CSS
*/
.home_footer
{
    grid-area: home_footer;
    padding:8px;
}






/*
    LARGE Overall Normal Page Wrapper CSS >>>>>>>>>>>>>
*/
.page_wrapper
{
    display: grid;
    grid-template-areas:
        "page_header page_header page_header"
        "page_content page_content page_content"
        "page_footer page_footer page_footer";

    grid-template-rows: auto minmax(20vh,100%) 1fr;
    grid-template-columns: 200px auto;

    grid-column-gap: 5px;
    margin: 0;
    
    max-width:1200px;

    /* 6 April 2024 */
    margin-left: auto;
    margin-right:auto;

}



/*
    LARGE Normal Page Header CSS
     6 April 2024 made fixed
*/
.page_header
{
    grid-area: page_header;
    border-bottom: 5px solid #f57c00;

    position: -webkit-sticky; /* For Safari */
    position: sticky;
    top: 0;

    z-index: 1000;
        
    height:55px;
    padding:15px;

    margin-left: 15px;
    margin-right: 15px;
    
   /* background-image: linear-gradient(0deg,#a2ddfa,#3ef4fd00); */
    border-radius: 5px;
    background-color: white;
    /* box-shadow: 0 0 10px 5px lightgrey; */
}


/*
    Normal Page Left Col CSS
*/
.page_left
{
    display:none;
    grid-area: page_left;
    background: rgba(49,121,227,0.9);
    padding:8px;
    text-align: center;
}


/*
    Normal Page Content CSS
    6 April 2024 moved down to allow fixed headers
*/
.page_content
{
    grid-area: page_content;

    max-width: 100%;
    margin-top: 0.5rem;

    padding-left: 1.5rem;
    padding-right: 1.5rem;

/*    background-color: aliceblue; */
    border-radius: 5px;
    /* box-shadow: 0 0 10px -1px #dddfe1; */

    margin-left: 15px;
    margin-right: 15px;
}


/*
    Normal Page Right Col CSS
*/
.page_right
{
    grid-area: page_right;
    padding:8px;
    display:none;
}


/*
    Normal Page Footer CSS
*/
.page_footer
{
    grid-area: page_footer;
    padding:8px;
}


/*
 6 April 2024 homelink update
*/
.homelink
{
   padding-right:5px;
   padding-top: inherit;
}






/* 2 May 2019 */
.search_prompt
{
    grid-area: search_prompt;
}



/*
     21 Aug 2024 > New Search Results css
*/

        .search1_container {
            display: flex;
            flex-direction: row;
            align-items: flex-start;
            text-align: left;
            margin: 10px;
            width: auto;
            background-color: white;
          
            padding: 10px;
            position: relative; /* Add relative positioning */
            cursor: pointer;

            border-width: 2px;
            border-radius: 10px;
            border-color: #CCF5E1;
            border-style: solid;
         
        }

        .search1_hero_image_div
        {
            width: 200px;
            overflow: clip;

        }

        .search1_hero_image {
            width: auto;
            height: 100px;
            margin-right: 20px;
            object-fit: cover;
            border-radius: 10px;
            background-color: #FFF;
        }
        

        .search1_content {
            flex: 1;
            display: flex;
            flex-direction: column;
            justify-content: flex-start;
        }

        .search1_title {
            font-size: 1.25rem;
            margin-top: 0;
            padding-left: 5px;
        }

        .search1_sub_title {
            font-size: 1.1em;
            margin-top: 0.5em;
            padding-left: 20px;
        }

        .search1_text {
            margin-top: 5px;
            text-align: left;
            padding-left: 25px;
            font-size: 1rem;
            line-height: 1.2;

        }

        .search1_button {
            align-self: flex-start;
            margin-left: 0px;
            margin-top: auto;
            padding: 0px 6px;
            background-color: white;
            color: #f57c00;
            border: 2px solid #f57c00;
            border-radius: 10px;
            cursor: pointer;
            font-size: 1em;
            transition: all 0.3s ease;
        }

        .search1_button:hover {
            background-color: #f57c00;
            color: white;
            border: 2px solid white;
        }

        .search1_subject_icons_div {
            position: absolute;
            top: 10px;
            right: 10px;
            display: flex;
            gap: 10px; /* Space between the icons */
        }

        .search1_subject_icon {
            width: 50px;
        }

        /*
            CSS for the Level number of the item.
        */
        .search1_level_div 
        {
            width: 20px;
            height: 20px;
            border-radius: 50%; /* Makes the div a circle */
            background-color: white; /* Optional: background color */
            display: flex;
            justify-content: center;
            align-items: center;
            font-size: 24px; /* Adjust the size of the number */
            text-align: center;
        }



        .search1_context_buttons_container {
            display: grid;
            grid-area: search1_context_buttons_container;
            grid-template-areas: "search1_context_all search1_context_electronics search1_context_coding search1_context_sensors search1_context_control search1_context_robotics search1_context_plans search1_context_lessons search1_context_activities search1_context_projects search1_context_videos search1_context_level";
            grid-template-columns: auto;
            grid-template-rows: 40px;
            height: 40px;
            
            align-items: center;
            text-align: center;
            padding-left: 10px;
            padding-right: 10px;
        }



        .search1_context_buttons {
            cursor: pointer;
            padding: 5px;
            border-radius: 5px;
            box-shadow: 0 0 3px -1px blue;
            margin: 5px;
            background-color: white;
        }

        .search1_context_buttons:hover {
            background-color: white;
            color: black;
            transform: scale(1.15);
            border: 2px solid blue;
            border-radius: 5px;
            box-shadow: 0 0 10px -1px #dddfe1;
            padding: 5px;
        }

        .search1_context_buttons.active {
            background-color: yellow;
            color: black;
            border: 2px solid black;
        }



/*
     2 May 2019 CSS Update START >>>>>>>>>>>>>>>>>>>
*/


/* Hide the small screen menu grid for large screens */
.menugrid_small_screen
{
    display: none;
}



/*
    LARGE Screen GRID CSS

        This sets the layout of the large screen grid menu items.
*/
.menugrid_large_screen
{
    display: grid;
    margin: 0px;
    padding-left:5px;
    grid-gap: 5px;

    grid-template-areas: "hamburger_menu comp_logo top_header_menu_item";

    grid-template-rows:auto;
    grid-template-columns: 0.5fr auto 1fr 1fr 1fr 1fr 1fr 1fr;
    justify-content: space-evenly;
}



/*
    2 May 2019 CSS Update END >>>>>>>>>>>>>>>

*/

/*
     Main Menu Button Div >>>>>>>>>>>>>>>>
         13 Jan 2019 This is the main menu button on top left.
*/
.main_menu_div
{
    position: relative;
    top: -15px;
    float:left;
}


/*
    Main Menu Icon CSS
    2 Oct 2017 This controls the CSS style of the mobile icons along the top.
        ie mobile home, mobile login etc.
*/
.main_menu_icon_css
{
    width:62px;
}



/*
    11 Dec 2019 > top_header_menu_item css. 
*/
.top_header_menu_item
{
    height:60px;
}


/*
   13 jan 2019 Main Menu CSS Class Styles
        Note this is the main CCS style for the main menu
            that appears in the top left of screens.
*/
.main_menu_nav_css
{
 /*   background-image: url("../images1/../test1_images/Mobile_Menu_icon_idx54209666.png");
    height: 40px;
    width: 40px;
*/
    display: inline-block;
    height: 13px;
    margin: 0;
    padding: 0;
    position: static;
    top: 0;
    width: 51px;
}



/* Company Logo Link Icon Image CSS Class */
.complogo_link_icon_class
{
    width:40px;
}


/*
     Esp Search Results CSS Settings
       These are the settings for the search results on the esp_search_Final prog.
*/

/* Set the style of the stock item title ie the item name at the top the one they click on etc search results. */
#search_results_stock_item_title
{
  height:1em;
  font-size:medium;
  color:#000000;
  background-color:transparent;
     font-weight: bold;
}

/*
  Search Results RRP Display Class
  Set the style of the stock item rrp price display search results. */
.search_results_stock_item_rrp
{
  height:1em;
  font-size:large;
  color:#000000;
  background-color:transparent;
}


/* Set the style of the stock item conent ie bcode, description etc search results. */
#search_results_stock_item_content
{
  height:1em;
  color:#000000;
  background-color:transparent;
}

/* Set the style of the Categories title. */
#search_results_cat_title
{
  height:1em;
  font-size:medium;
  color:#000000;
  background-color:transparent;
     font-weight: bold;
}


/* Set the style of the web cat search results. */
#search_results_category
{
  height:1em;
  color:#000000;
  background-color:transparent;
}

/* Set the style of the section title. */
#search_results_sec_title
{
  height:1em;
  font-size:medium;
  color:#000000;
  background-color:transparent;
     font-weight: bold;
}



/* Set the style of the web section search results. */
#search_results_section
{
  height:1em;
  color:#000000;
  background-color:transparent;
}

/*
     Search Prompt Span CSS
*/
.search_prompt_span
{
    height: 38px !important;
    color: #000000;
    overflow: hidden;
    min-width: 200px;
    display: inline-block;
    padding-top:15px;

}


/*
    Search Text prompt input.
*/
.search_prompt_input
{
   background-color:white;
   font-size:small;
   width: 94%;
   height: 2em;
   border-color: #FF9300;
   border-style: solid;
   border-width: 2px;
   border-radius: 10px;
}

/*
     Search GO Button CSS
     Button icon set on pg 263
*/
.search_text_but_icon
{
    padding:0px;
    height:20px;
    vertical-align: bottom;
    display: none;
}


/*
     Search Results Table
*/
#search_results_table
{
    width:100%;
    float:right;
    height:auto;

    /* Use 1% from the width. */
    padding-left:1%;

    /* Set the Default font color. */
    color:gray;
}



/*
     [emailus] Link CSS style
*/

#emailuslink {
color:#000000;
font-size:medium;
 /* No lines under links */
    text-decoration:none;

}


/*
     Email us Button Icon Class
     21 Aug 2016
     This is for the email us icon tag.
*/
.emailus_button_icon
{
  width:42px;
}



/*
  Shopping Cart Link CSS
    This is for the carticon tag.

*/
.show_cart
{
  position:relative;
  width:54px;
}

/*
    View Shopping Cart Icon Class CSS.
      This is for the shopping cart icon.
*/
.show_cart_link_icon
{
   height:42px;
}

/* Cart Quick Login Button CSS */
.cart_quick_login_button
{
  font-size:medium;
}


/* Cart Update Button css */
.cart_update_button
{
      font-size:medium;
}


/*
    Cart Total no of items in cart text.
*/
.show_cart_total
{
   position:absolute;
  left:-12px;
  top:25px;
  font-size:large;
}

/*
    This is the CSS for the cart icon
*/
#cart_icon_ajax_span
{
}


/*
    Checkout Link CSS
*/
.checkout_link
{
}

.checkout_link_icon
{
  height:20px;
}





/*
    Main Shopping Cart Page Content Table Style
      This applies to the Three Step sections ie Steps 1 to 3 tables.
*/
#shopping_cart_page_content
{
   width:95%;
    overflow:auto;
    margin:10px;
    padding:10px;

    /* Set the Default font color. */
    color:#000000;

/*   background-color:#FFFFFF;  */
  /* background:rgba(0, 0, 0, 0) linear-gradient(to right, orange, white) repeat scroll 0 0; */
     border-radius: 20px;
}

/*
      Step 1  Section CSS Style

         The following applies to the Step 1 section of the shopping cart.
      ie items list.
*/

/* The main top header for Step 1 */
#cart_step1_header
{
    background-color:rgba(49,121,227,0.9);
        width:100%;
       vertical-align:middle;
}

/*
    Step 1 Main CSS
      This applies to the step 1 section below the header.
*/
#shopping_cart_step1
{
    padding: 10px;
    margin-top:10px;
    width: 100%;

    /* Set the Default font color. */
    color:black;
}




/*
      Cart TD Item row Class
     14 Jan 2017
*/
.shopping_cart_stock_item_td_row
{
    border-top: 1px solid #dddddd;
    padding:5px;
}



/* Cart stock item image css */
.shopping_cart_stock_item_img
{
   max-width:100%!important;
}



/*
    27 May 2014  Cart item row total ex Tax style
       Sets the style for the ex tax item total text.
*/
#shopping_cart_stock_item_ex_tax_total
{
  height:1em;
  font-family:Verdana,Arial;
  font-size:small;
  color:black;
}



/*
    27 May 2014  Cart item row total inc Tax style
       Sets the style for the inc tax item total text.
*/
#shopping_cart_stock_item_inc_tax_total
{
  height:1em;
  font-family:Verdana,Arial;
  font-size:medium;
  color:black;
}




/*
    13 Oct 2010 Controls the stock item row style for the shopping cart.
*/
#shopping_cart_stock_item_row
{
  height:1em;
  font-family:Verdana, Arial;
  font-size:medium;
  color:black;
  background-color:white;
}





/*
      TNT Freight Quote Page CSS
      5 June 2016 This is the CXSS for the freight quote page.
*/
#tnt_freight_quote_page_body_css
{
     width:100%;
    overflow:auto;
    margin:10px;
    padding:10px;


    /* Set the Default font familay and size. */
    font-family:Verdana, Arial, Helvetica, sans-serif;
    font-size:1em;

    /* Set the Default font color. */
    color:#000000;

   background-color:#FFFFFF;
   background: rgba(0, 0, 0, 0) linear-gradient(orange, white) repeat fixed 0 0;
     border-radius: 20px;

}

/*
     TNT Freight Quote Table CSS
      5 June 2016 This is the CSS for the freight quote table
         that displays the freight quotes.
*/
#tnt_freight_quote_table_css
{
     width:100%;
     padding:10px;
}

/*
      Freight Country Select Prompt
*/
#dest_country_select
{
     background:#FFFFFF;
     cursor:pointer;
     border-radius: 3px;
     font-size:medium;

      /* Thin Border */
    border: 1px solid #ccc;
}

/*
     TNT Freight Quote ERROR Message CSS
      8 Aug 2016 This is the CSS for the various TNT error messages.
*/
#tnt_error_message
{
}

/*
    19 March 2014 Controls the Freight stock item row style for the shopping cart.
*/
#shopping_cart_freight_stock_item_row
{
  height:1em;
  font-family:Verdana,Arial;
  font-size:small;
  color:black;
  background-color:white;

}

/* Step 1 Freight Total Row in the items section */
#cart_step1_freight_total_row
{
  height:1em;
  color:black;
}


/*
      Step 2 Freight and Delivery Details Section CSS Style

         The following applies to the Step 2 section of the shopping cart.
      ie freight
*/

/* The main top header for Step 2 */
#cart_step2_header
{
      background-color:rgba(49,121,227,0.9);
        width:100%;
       vertical-align:middle;
}

/*
    Step 2 Freight Main CSS
      This applies to the step 2 Delivery and Freight Section

*/
#shopping_cart_step2
{
  /* background-color:#FFFFFF; */
    border-radius: 20px;
    padding: 10px;
    margin-top:10px;
    width: 100%;

    /* Set the Default font color. */
    color:black;
}

/* Step 2 Left hand Freight Panel.
             This is the main TNT freight panel on the left.
  Set the left panel width to 70% to leave room for the Delivery details on the right.
*/
#cart_step2_freight_panel
{
     padding:5px;
}


/*  Step 2 Delivery Details panel on the right */
#cart_step2_delivery_details
{
   width:50%;
   padding:5px;
    /* Set the Default font color. */
    color:black;
}

/*
      Customer Address, Password, Item Cart Quantity Prompts Class
      This is for all of the customer delivery details prompts etc
*/
input[type=text].cust_addr_prompts, input[type=email], input[type=password], input[type=text].cart_item_qty_prompt
{
    background:#FFFFFF;
    cursor:pointer;
    border-radius: 3px;
    font-size:medium;

    /* Thin Border */
    border: 1px solid #ccc;
}


/*
      Step 3 Payment Details Section CSS Style

         The following applies to the Step 1 section of the shopping cart.
      ie items list.
*/

/* The main top header for Step 3 */
#cart_step3_header
{
      background-color: rgba(49,121,227,0.9);
        width:100%;
       vertical-align:middle;
}

/*
    Step 3 Payment Section Main CSS
      This applies to the step 3 Payment Section

*/
#shopping_cart_step3
{
 /*    background-color:#FFFFFF; */
    border-radius: 20px;
    padding: 10px;
    margin-top:10px;
    width: 100%;

    /* Set the Default font color. */
    color:black;
}

/* Step 3 Payment Panel CSS
       This is the panel below the header. */
#cart_step3_payment_panel
{

    /* Set the Default font familay and size. */
    font-family:Verdana, Arial, Helvetica, sans-serif;
    font-size:small;

    /* Set the Default font color. */
    color:black;

}

/*
     generate_website_stock_items_table_html Function Mode 2 CSS
       30 Dec 2010 > This is the css for the display of stock items in a section using mode 2.
NOTE this is used for the modes in which there is ONE stock item per row.
*/
#mode_2_stock_item_row_css
{
      border-top: 1px solid #dddddd;
      padding:5px;
}


/* Shopping Cart Links
      These are for the create account link.
*/
.shopping_cart_links
{
      font-size:small;
}



/*
    Home Page Stories CSS Grid Layout
*/
.home_page_stories_group_items_grid
{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  justify-content: space-evenly;
  grid-gap: 10px;
  background-color:#FFF;
  padding:5px;
}




/*
   Generic Staff Edit.
*/
.staff_edit
{
   grid-area:12/2/12/2;
}




/* LARGE DISPLAY Image Slider CSS Settings ***********   */

#image_slider {
   width:100%;
   height:550px;
   margin:1px auto;
   background:#FFF;

/* border:2px solid #000; */

   overflow:auto;
   box-shadow:0 0 10px #000;
}

#image_slider ul {
   float:left;
   /* jp9 set to 9999 from 999 */
   margin-right:-9999em;
   white-space:nowrap;
   list-style:none;
}

#image_slider li {
   margin:3px;
   text-align:left;
   float:left;
   display:inline-block;
}

#image_slider img {
   border:0;
   display:inline;
   border:0px solid #A3CBE0;
}

#image_slider a:active img, #image_slider a:focus img, #image_slider a:hover img {
   border:1px solid #000;
}

#image_slider a {
   text-decoration:none;
   font-weight:normal;
   color:#000;
}

#image_slider a:active, #image_slider a:focus, #image_slider a:hover {
   color:#000;
}

#image_slider span {
   padding:1px 0 0;
   display:block;
}

/* ------------- Flexcroll CSS ------------ */
.scrollgeneric
{
    line-height:1px;
    font-size:1px;
    position:absolute;
    top:0px;
    left:0;
}

/*
   The scroll bar background.
*/
.hscrollerbase {
    height:12px;
    background:#FFF;
}


/*
     The scroll bar itself.
*/
.hscrollerbar {
    height:12px;
    background:lightgray;
    cursor:e-resize;
    padding:3px;
    border:0px solid #A3CBE0;
}

.hscrollerbar:hover {
    background:#222;
    border:1px solid #222;
}

.vscrollerbase
{
    visibility: visible !important;
}



/*
    LARGE > Web News Blog Main DIV CSS Style Class  >>>>>>>>>>>>>>>>>
    29 March 2017  This is for the web news tags main div block.
*/
.web_news_blog_div
{
    display:grid;
    grid-template-columns: 1fr;
    grid-gap: 10px;
    padding:0px;
}

/*
    Web News Blog li Item CSS Style Class
    29 March 2017  This is for the web news tags news item li block
*/
.web_news_blog_item
{
    max-height: 200px;
    text-align:center;
}



/*
    Web News Blog Icon CSS Style Class
    29 March 2017  This is for the news items icon.
*/
.web_news_blog_icon
{
    width: 100%;
    max-height:125px;
    margin: 0px;
    overflow: hidden;
    text-decoration:none;
}


/*
    Web News Blog Caption CSS Style Class
    29 March 2017  This is for the caption under the news icon.
*/
.web_news_blog_caption
{
    max-height:2em;
    background-color: lightgray;
    margin-top:5px;
    padding:5px;
    overflow: hidden;
    text-decoration:none;
}

/* END LARGE Web News ***************** */


/* Display a Single Stock item with display_item Final */

/* Items image */
.display_item_image
{
 width:50%;
}





/*
    Shopping Cart General CSS >>>>>>>>>>>>>>>>>
*/

/* Shopping cart add button css note this is alkso used by the do_ajax prog. */
.cart_add_button_css
{
   border-style:solid;
   border-width:1px;
   border-color:#000;
   background-color:#FFF;
}


/*
     5 Dec 2018 Back to Cart Icon css.
*/
.back_to_cart_icon
{
    width:25px;

}



/*
   Mega Doc Menu CSS
    20 Feb 2021
*/
.doc_mega_menu_icon_class
{
   width:60px;
}


/*
   Make the Mega Menu Icons get bigger as the mouse is over them.
*/
.doc_mega_menu_icon_class:hover
{

/* 
   17 Dec 2024    Stop STAFF edit menu flickering
  transform: scale(1.1); */


}



/*
        @GPT CSS  26 Oct 2024 > New Mega Menu Bridge CSS Code
*/
/* Styles for the Mega Menu Icon when hovered */
.mega_menu_icon_hover {
    /* background-color: #ffe0b2; */
    padding:0px;
    border-top-left-radius: 30px;
    border-top-right-radius: 30px;

}


/* Bridge between the icon and the mega menu */
.mega_menu_bridge {
    /* position: absolute; */
    /* Match the icon color */
    /* background-color: red;  */
    left: 0; /* Align with the icon */
    z-index: 1000;
    transition: height 0.1s ease-in-out;

}

/* Default state (hidden) */
.mega_menu_bridge_hidden {
    height: 0;
}

/* Active state when the menu is open */
.mega_menu_bridge_active {

    /* Adjust to the distance between the icon and the menu */
    height: 22px; 
    
}


/*
     Mega Menu Close Link CSS
*/
.mega_menu_close_link
{
  float: right;
  text-decoration: none !important;
  font-size: x-large !important;
  font-weight: bold;
}


.mega_menu_close_link:hover {

    color: red !important; 
    text-decoration: none !important;
    padding-bottom:0px;
    
    border-color: black;
    border-style: solid;
    border-width: 2px;
    border-radius: 5px;


}

/*
    @Group Sale Items CSS Grid  >>>>>>>>>>>>>>
       This is the surrounding grid for all of the sales items.
     This is used in the groupicons command.
*/
.sale_items_grid_container {

  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  justify-content: space-evenly;
  text-align:left;
  grid-gap: 1px;
  margin-top: 0px;
  margin-bottom: 0px;
}


/*
    Display ONE item per line CSS class.
*/
.one_item_per_line_grid_container {

  display: grid;
  grid-template-columns: 1fr;
  justify-content: space-evenly;
  text-align:left;
  grid-gap: 1px;
  margin-top: 0px;
  margin-bottom: 0px;
}





        /*
            Row Modes 0 to 7 > Setup the Main Grid Layout (LARGE SCREEN) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                This sets up the main GRID container for modes 0 to 7 in which there is a single 
                group member per row. 
                This is the setup of the layout which will contain all of the memebers.
        */
        .groupicons_row_modes_main_group_container 
        {
            display: grid;
            grid-template-columns: repeat(1, minmax(250px, 1fr));
            grid-template-rows: auto;
            
            justify-content: space-evenly;
            text-align: left;
            grid-gap: 25px;
            margin: 10px;
        }


      

        /*
            Setup the Members Grid Cell Layout (LARGE SCREEN) >>>>>>>>>>>>>>>>>>>>>>>>>>
                These are all of the grid cells inside a members grid entry.
        */
        .groupicons_member_container 
        {
            display: grid;
        
            justify-content: space-evenly;
            text-align: left;
            grid-gap: 5px;
            grid-column-gap: 10px;
            padding: 10px;
           
            background-color: white;
            border-width: 5px;
            border-radius: 30px;
            border-color: #CCF5E1;
            border-style: solid;
        }



        /*
            Mode 0 > LARGE > Single row EVERYTHING >>>>>>>>>>>>>>>>>>>>>>>
        */
            .groupicons_row_display_mode0
            {
                /* Setup the arragement of the Grid Cells. */
                grid-template-areas:
                        "groupicons_member_image     groupicons_member_name       groupicons_member_name       groupicons_member_stocks       groupicons_member_price"
                        "groupicons_member_image     groupicons_member_descr      groupicons_member_descr      groupicons_member_stocks       groupicons_member_price"
                        "groupicons_member_image     groupicons_member_descr      groupicons_member_descr      groupicons_member_freight      groupicons_member_discount"
                        "groupicons_member_image     groupicons_member_descr      groupicons_member_descr      groupicons_member_info         groupicons_member_add_button";
    
                /* 
                    Set the width of the Grid Columns 
                        For the image col use a min width of 120px and a max of 0.1fr.
                */
                    grid-template-columns: minmax(250px, 10%) 1fr 1fr 1fr;

                    grid-template-rows: max-content max-content 1fr auto;
            }


        /*
            Mode 1 > LARGE > Single row Name ONLY. >>>>>>>>>>>>>>>>>>>>>>>
        */
            .groupicons_row_display_mode1 
            {
                grid-template-areas: "groupicons_member_name";

                grid-template-columns: 1fr;

            }


        /*
            Mode 2 >  LARGE >Single row Name & Description. >>>>>>>>>>>>>>>>>>>>>>>
        */
            .groupicons_row_display_mode2
            {
                grid-template-areas: "groupicons_member_name "
                                     "groupicons_member_descr";

                grid-template-columns: 1fr;
                grid-template-rows: 0.5fr auto;

            }


        /*
            Mode 3 > LARGE > Single row Name, Description & Ecom >>>>>>>>>>>>>>>>>>>>>>>
        */
            .groupicons_row_display_mode3
            {
                grid-template-areas:
                "groupicons_member_name        groupicons_member_price          groupicons_member_discount"
                "groupicons_member_descr       groupicons_member_stocks         groupicons_member_add_button"
                "groupicons_member_descr       groupicons_member_freight        groupicons_member_info";

                grid-template-columns: 1fr  minmax(50px,150px) minmax(50px,115px);

                /* Title row is slimmer */
                grid-template-rows: max-content auto auto;
            }


        /*
            Mode 4 > LARGE > Single row Icon ONLY >>>>>>>>>>>>>>>>>>>>>>>
        */
            .groupicons_row_display_mode4
            {
                grid-template-areas: "groupicons_member_image       none";
                grid-gap: 0px;
                grid-template-columns: minmax(100px, 320px) 1fr;

            }

        /*
            Mode 5 > LARGE > Single row Icon, Name  >>>>>>>>>>>>>>>>>>>>>>>
        */
            .groupicons_row_display_mode5
            {
                grid-template-areas: "groupicons_member_image  groupicons_member_name";

                grid-template-columns: minmax(100px, 250px) 1fr;

            }

       
        /*
            Mode 6 > LARGE > Single row Icon, Name & Description. >>>>>>>>>>>>>>>>>>>>>>>
        */
            .groupicons_row_display_mode6
            {
                grid-template-areas: "groupicons_member_image  groupicons_member_name"
                                     "groupicons_member_image  groupicons_member_descr";

                grid-template-columns: minmax(50px, 250px) 1fr;

                /* Make the title row shorter. */
                grid-template-rows: max-content 1fr;
            }

        /*
            Mode 7 > LARGE > Single row Icon, Name, Description & ECOM >>>>>>>>>>>>>>>>>>>>>>>
        */
            .groupicons_row_display_mode7
            {
                grid-template-areas:
                "groupicons_member_image    groupicons_member_name         groupicons_member_price          groupicons_member_discount"
                "groupicons_member_image    groupicons_member_descr        groupicons_member_stocks         groupicons_member_add_button"
                "groupicons_member_image    groupicons_member_descr        groupicons_member_freight         groupicons_member_info";

                /* Name & descrip take up most of the column */
                grid-template-columns: minmax(110px, 250px) 3fr minmax(50px,150px) minmax(50px,115px);

                /* Title row is slimmer */
                grid-template-rows: max-content max-content 1fr auto;
            }

    /* END Groupicons LARGE ****************************************************** */



/* END MODE 8 LARGE ****************************************************** */








/*
    Mode 11 > Mega Menu 1 > Display multiple items per line icon only.
          NO Text etc
*/
.main_items_container_mode11
{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  justify-content: space-evenly;
  text-align:left;
  grid-gap: 5px;
  margin-top: 0px;
  margin-bottom: 0px;
}


/*
    Mode 11 > Mega Menu
*/
.single_item_container_mode11
{
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
  grid-template-rows: 9fr;
  justify-content: space-evenly;
  text-align:left;
  grid-gap: 5px;
  padding: 5px;
}


.item_image_mode11
{
  grid-column: 1/7;
  grid-row: 1 / span 7;
  text-align: center;
}

.item_image_file_mode11
{
   max-width: 100%;
}

.item_image_link_mode11
{
   text-decoration:none;
}

.item_dld_hires_mode11
{
   grid-area:3/1/3/1;
}

.item_name_mode11
{
   grid-area:8/1/8/7;
   font-weight:bold;
}

.item_name_link_mode11
{
   text-decoration:none;
}


.item_descr_div_mode11
{
  display:none;
}


.item_price_div_mode11
{
    display:none;
}


.item_discount_div_mode11
{
  display:none;
}

.item_discount_icon_mode11
{
  display:none;
}


.item_discount_icon_image_mode11
{
  display:none;
}


.item_stocks_mode11
{
  display:none;
}

.item_add_mode11
{
  display:none;
}


.item_freight_mode11
{
  display:none;
}


.item_info_mode11
{
  display:none;
}

.item_info_icon_mode11
{
  display:none;
}


/* END MODE 11 MEGA MENU ****************************************************** */


/*
    Mega Menu Custom Group CSS Styles   ***************************************
       These let you set cusyom styles using the group no as the index.
       Each tag MUST end in the group no.

*/

.mega_group_menu_link_50132
{
    width:auto;
    height: max-content;
    color:black;
    padding:10px;
    margin-right: 20px;
    font-size:medium;
}


/* Mega Group Menu Button CSS */
.mega_group_nav_50132
{
    height: 100%;
    width: 0;
    position: relative;
    z-index: 1000;
    background-color: red;
    opacity: 1;
    overflow-x: hidden;
    padding-top: 0px;
    transition: 0.3s;
}

.mega_group_nav_50132 a
{
    padding: 10px 10px 10px 30px;
    text-decoration: none;
    font-size: 15px;
    color: #000;
    display: block;
    transition: 0.3s;
 }


.mega_group_nav_50132 a:hover
{
    color: #000;
    background-color: #ddd;
}

.mega_group_nav_50132 .btn-close_50132
{
    position: relative;
    top: 0;
    right: 22px;
    font-size: large;
    margin-left: 50px;
    padding-right:10px;
}

/*
     END Mega Menu Custom CSS Options
*/




/*
    Mode 20 > LARGE > Espdoc Articles
                Display multiple items per line large image, name, NO descr read more link
*/

.main_items_container_mode20
{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  justify-content: space-evenly;
  text-align:left;
  grid-gap: 5px;
  margin-top: 0px;
  margin-bottom: 0px;
}


/*
    Mode 20 > Espdoc Article Headline > Multiple icon with name, NO descr and read more link
*/
.single_item_container_mode20
{
 display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
  grid-template-rows: auto auto 1fr 1fr 1fr auto auto;

  justify-content: space-evenly;
  text-align:left;
  grid-gap: 5px;
  padding:5px;
  border-bottom-style: solid;
  border-bottom-color:black;
  border-bottom-width: 1px;
}

.item_image_mode20
{
  grid-column: 1/9;
  grid-row: 1 / span 1;
  text-align: center;
}

.item_image_file_mode20
{
   height: 200px;
   max-width: 100%;
}

.item_image_link_mode20
{
   text-decoration:none;
}

.item_dld_hires_mode20
{
  grid-area:5/7/5/7;
}

.item_name_mode20
{
   grid-area:2/1/2/9;
}

.item_name_link_mode20
{
   text-decoration:none;
}


.item_read_more_link_mode20
{
   text-decoration:none;
}


.item_descr_div_mode20
{
  grid-column: 1/9;
  grid-row: 3 / span 2;
  overflow:hidden;
  color:black;
}

.item_info_mode20
{
  grid-area:5/7/5/7;
}

.item_info_icon_mode20
{
   height:25px;
}

/* END MODE 20 LARGE ****************************************************** */



/*
    Mode 21 > LARGE > Espdoc Articles
                Display multiple items per line large image, name, descr read more link
*/
.main_items_container_mode21
{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  justify-content: space-evenly;
  text-align:left;
  grid-gap: 5px;
  margin-top: 0px;
  margin-bottom: 0px;
}


/*
    Mode 21 > Espdoc Article Headline > Multiple icon with name, descr and read more link
*/
.single_item_container_mode21
{
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
  grid-template-rows: auto auto 1fr auto;
  justify-content: space-evenly;
  text-align:left;
  grid-gap: 5px;
  padding:5px;
  border-bottom-style: solid;
  border-bottom-color:black;
  border-bottom-width: 1px;
}

.item_image_mode21
{
  grid-column: 1/9;
  grid-row: 1 / span 1;
  text-align: center;
}

.item_image_file_mode21
{
   height: 200px;
   max-width: 100%;
}

.item_image_link_mode21
{
   text-decoration:none;
}

.item_dld_hires_mode21
{
  grid-area:5/7/5/7;
}

.item_name_mode21
{
   grid-area:2/1/2/9;
}

.item_name_link_mode21
{
   text-decoration:none;
}


.item_read_more_link_mode21
{
   text-decoration:none;
}


.item_descr_div_mode21
{
  grid-column: 1/9;
  grid-row: 3 / span 2;
  overflow:hidden;
  color:black;
}

.item_info_mode21
{
  grid-area:5/7/5/7;
}

.item_info_icon_mode21
{
   height:25px;
}

/* END MODE 21 LARGE ****************************************************** */




/*
    Mode 22 > LARGE > Espdoc Article Headline
                Display multiple items per line large image, name, descr, no ecom.
*/
.main_items_container_mode22
{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  justify-content: space-evenly;
  text-align:left;
  grid-gap: 5px;
  margin-top: 0px;
  margin-bottom: 0px;
}


/*
    Mode 22 > Espdoc Article Headline > Multiple icon with name, descr
*/
.single_item_container_mode22
{
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
  grid-template-rows: auto auto 1fr auto;
  justify-content: space-evenly;
  text-align:left;
  grid-gap: 5px;
  border-color: black;
  border-style: solid;
  border-width: 1px;
  border-radius: 5px;

  padding: 10px;
  margin:8px;
  background-color:white;
}


/*
    Mode 22 > Headline Espdoc Article Headline > Multiple icon with name, descr
      Display the first article in 2 cols.
*/
.single_item_headline_container_mode22
{
  display: grid;
  grid-row-start: 1;
  grid-row-end: 1;
  grid-column-start: 1;
  grid-column-end: 4;

  justify-content: space-evenly;
  text-align:left;
  grid-gap: 5px;
  padding:5px;  border-color: black;
  border-style: solid;
  border-width: 1px;
  border-radius: 5px;

  padding: 10px;
  margin:10px;
  background-color:white;
}



.item_image_mode22
{
  grid-column: 1/9;
  grid-row: 1 / span 1;
  text-align: center;
}


.item_headline_image_mode22
{
  grid-column: 1/1;
  grid-row: 1 / span 4;
  text-align: left;
  padding-right:10px;
}

.item_image_file_mode22
{
   height: 100px;
}

.item_headline_image_file_mode22
{
   max-width: 90%;
}


.item_image_link_mode22
{
   text-decoration:none;
}

.item_dld_hires_mode22
{
  grid-area:5/7/5/7;
}

.item_name_mode22
{
   grid-area:2/1/2/9;
}

.item_headline_name_mode22
{
   grid-area:1/2/1/4;
}

.item_name_link_mode22
{
   font-size: medium;
}


.item_headline_name_link_mode22
{
   text-decoration:none;
   font-size:larger;
}



.item_doc_pub_date_mode22
{
   display:none;
}



.item_read_more_link_mode22
{
   display:none;
}


.item_descr_div_mode22
{
  grid-column: 1/9;
  grid-row: 3 / span 2;
  overflow:hidden;
  color:black;
  font-size:0.75em !important;
}


.item_headline_descr_div_mode22
{
  grid-column: 2/8;
  grid-row: 2 / span 4;
  overflow:hidden;
  color:black;
}

.item_info_mode22
{
  grid-area:5/7/5/7;
}

.item_info_icon_mode22
{
   height:25px;
}

/* END MODE 22 LARGE ****************************************************** */




/*
    Mode 23 > LARGE > Espdoc Articles > Display on the Left or Right Columns
                Display multiple items per line large image, name, descr read more link
*/
.main_items_container_mode23
{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  justify-content: space-evenly;
  text-align:left;
  grid-gap: 5px;
  margin-top: 0px;
  margin-bottom: 0px;
}


/*
    Mode 23 > Espdoc Article Headline > Multiple icon with name, descr and read more link
*/
.single_item_container_mode23
{
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto 1fr auto;
  justify-content: space-evenly;
  text-align:left;
  grid-gap: 5px;
  padding:5px;
  border-bottom-style: solid;
  border-bottom-color:black;
  border-bottom-width: 1px;
}

.item_image_mode23
{
  grid-column: 1/9;
  grid-row: 1 / span 1;
  text-align: center;
}

.item_image_file_mode23
{
   height: 200px;
   max-width: 100%;
}

.item_image_link_mode23
{
   text-decoration:none;
}

.item_dld_hires_mode23
{
  grid-area:5/7/5/7;
}

.item_name_mode23
{
   grid-area:2/1/2/9;
}

.item_name_link_mode23
{
   text-decoration:none;
}


.item_read_more_link_mode23
{
   text-decoration:none;
}


.item_descr_div_mode23
{
  grid-column: 1/9;
  grid-row: 3 / span 2;
  overflow:hidden;
  color:black;
}

.item_info_mode23
{
  grid-area:5/7/5/7;
}

.item_info_icon_mode23
{
   height:25px;
}



/*
    Large Display Hamburger Menu CSS

*/


.hamburger_menu_class
{
    grid-area: hamburger_menu;
}


/* Hamburger Menu Button CSS */

.hamburger-nav
{
    height: 100%;
    width: 0;
    position: fixed;
    z-index: 1000;
    top: 0;
    left: 0;
    background-color: white;
    opacity: 0.9;
    overflow-x: hidden;
    padding-top: 0px;
    transition: 0.5s;
 

}

.hamburger-nav a
{
    padding: 10px 10px 10px 30px;
    text-decoration: none;
    font-size: 15px;
    color: #000;
    display: block;
    transition: 0.3s;
 }

.hamburger-nav a:hover
{
    color: #000;
    background-color: #ddd;

}



.hamburger-nav .btn-close
{
    position: relative;
    top: 0;
    right: 22px;
    font-size: 36px;
    margin-left: 50px;
}


/* END MODE 23 LARGE ****************************************************** */






}  /* End LARGE DISPLAY CSS */